//
// Created by Administrator on 2022/1/9 0009.
//

#ifndef CLION_CPP_T_FUNC_TEMPLATE_H
#define CLION_CPP_T_FUNC_TEMPLATE_H
//结构
struct job{
    char name[40];
    double salary;
    int floor;
};
//显示具体化、显示实例化不可以同时出现在一个文件中
//测试函数模板
void test_func_template();

//函数模板一般放置于头文件中
template <typename T> //or class T
void swap_t(T &a,T &b);//模板函数
//显示具体化：explicit specilization
//显示具体化、显示实例化不可以同时出现在一个文件中
template<> void swap_t<job>(job &a,job &b);//模板函数显示具体化，其中<job>可省略


template <class T> //or typename T
void swap_tarr(T *a,T*b,int n );


//展示数组元素
void show_tarr(int a[],int n);


//展示
void show_job(job &j);
#endif //CLION_CPP_T_FUNC_TEMPLATE_H
